package com.searchengine.repository;

import com.searchengine.entity.SearchHistory;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 搜索历史数据访问接口
 */
@Repository
public interface SearchHistoryRepository extends JpaRepository<SearchHistory, Long> {

    /**
     * 查询用户的搜索历史
     * @param userId 用户ID
     * @return 搜索历史列表
     */
    List<SearchHistory> findByUserIdOrderByCreatedAtDesc(Long userId);

    /**
     * 根据IP地址查询搜索历史
     * @param ipAddress IP地址
     * @return 搜索历史列表
     */
    List<SearchHistory> findByIpAddressOrderByCreatedAtDesc(String ipAddress);

    /**
     * 查询某个关键词的搜索历史
     * @param keyword 关键词
     * @return 搜索历史列表
     */
    List<SearchHistory> findByKeyword(String keyword);

    /**
     * 删除用户的搜索历史
     * @param userId 用户ID
     */
    void deleteByUserId(Long userId);
}